Repository navigation
Feature requests start with the current situation and user value - #89
Merged
Merged
Conversation
9 tasks done
There was a problem hiding this comment.
🟢 Approved
No active review issues remain for the feature-request form update.
No open issues 🎉
What changed in this PR
Updates the organization’s inherited feature-request form so contributors describe their needs, motivation, and expected behavior without proposing an implementation. Existing template identity, routing labels, and the single required response remain unchanged.
Changes:
- Replaces implementation-oriented prompts with consumer-focused questions and optional plain-language starters.
- Clarifies maintainer routing and links canonical MSX issue and planning guidance.
- Adds 23 focused Pester checks covering form structure, preserved routing, and consumer-facing prompts.
| File | Description |
|---|---|
tests/FeatureIntake.Tests.ps1 |
Adds regression checks for the feature form’s structure, routing, and consumer expectations. |
.github/ISSUE_TEMPLATE/10-feature.yml |
Updates feature-request guidance and prompts while preserving submission requirements. |
Review effort: Balanced
Marius Storhaug (MariusStorhaug)
marked this pull request as ready for review
October 31, 2026 22:40
This was referenced Nov 3, 2026
Marius Storhaug (MariusStorhaug)
dismissed
Copilot’s stale review
via
November 4, 2026 11:20
54b0771
Marius Storhaug (MariusStorhaug)
dismissed
Copilot’s stale review
via
November 4, 2026 11:25
e7a14f7
This was referenced Nov 4, 2026
Closed
Marius Storhaug (MariusStorhaug)
dismissed
Copilot’s stale review
via
November 4, 2026 12:26
7eedb8a
Marius Storhaug (MariusStorhaug)
added a commit
that referenced
this pull request
Nov 11, 2026
The bug, patch, and general issue forms give direct instructions about the information to include. The prompts request the same information without courtesy filler, unbounded requests, or response-time promises. Users and maintainers need no configuration changes. <!-- ANNOUNCEMENT STOP --> ## Changed: Issue forms state the information to include The bug form asks for the problem and expected behavior, the software version used when the bug occurred, reproduction steps, code, and output. The patch form asks for the desired change. The general form asks for an issue description. The submission process and required information do not change. Instructions remain imperative. The wording uses en-US, short active sentences, and stable technical terms. Past tense remains where the prompt refers to the reported bug or the behavior the contributor expected. | Prompt | Before | After | | --- | --- | --- | | Bug introduction | "Thanks for taking the time" and "as much information as possible so we can help you quickly" | "Give information about the bug in the fields below." | | Bug description | "what the bug is vs. what you expected to happen" | "Give a description of the bug and the behavior you expected." | | Bug version | "What version of the software were you running when encountering the bug?" | "Give the software version you used when the bug occurred." | | Code snippet | "help us understand what you're trying to do" | "Add a code snippet that shows the task you want to do." | | Command output | "For powershell commands" and one combined run/paste instruction | `PowerShell` has the correct capitalization. The run instruction and "Paste the output here." are separate sentences. | | Patch introduction and description | Courtesy text, a quick-help promise, and "what you would want to change" | "Give a description of the change in the field below." and "Give a description of what you want to change." | | General introduction and description | Courtesy text, a quick-help promise, and "A clear and concise description." | "Give information about the issue in the field below." and "Give a description of the issue." | <details> <summary>Technical details</summary> **Immutable scope and commits** The scoped comparison is `PSModule/.github@4e0092d` to `a6c020d4e2227397e4766f3f6daefb8d360116a6`. GitHub and the pushed branch report that exact head. The full diff contains exactly three files, with 17 additions and 13 deletions. Ten existing prose values change: six in bug, two in patch, and two in general. | Commit | Result | | --- | --- | | `6971f42fd6c5bada3fb7b7465255f1e9be1bf080` | Give direct instructions for bug reports. Pushed before this draft opened and before patch/general edits. | | `a6c020d4e2227397e4766f3f6daefb8d360116a6` | Give direct instructions for patch and general issues. | Only `.github\ISSUE_TEMPLATE\01-bug.yml`, `02-patch.yml`, and `99-general.yml` change. No test, snapshot, script, validator, dependency, hook, workflow, planning document, or other repository file is added or changed. **Preserved interfaces and evidence requests** The one-time read-only inspection parsed the baseline and exact final-head Git content with the installed YAML parser. It compared all keys and their order, scalar types, metadata, form names, chooser descriptions, title prefixes, declared labels, field types/order/IDs, textarea labels, required flags, and render values. Only the ten allowed introduction/description values differ. All comments and exact URLs match the baseline. The bug field IDs remain `description`, `version`, `steps-to-reproduce`, `code-snippet`, and `output`, in that order. Patch/general each retain `description`. All seven textareas remain required. The exact render values remain `powershell` and `Shell`; the lowercase render identifier is not reader-facing prose. The exact examples `$PSVersionTable`, `Get-Module -ListAvailable -Name 'ModuleName'`, `-Debug`, and `-Verbose` match the baseline. Module version output, action/workflow version information, reproduction steps, intended-task code, and the relevant-output-or-workflow-run-link alternative remain in the prompts. No evidence requirement or technical plan is added. The Git content of `10-feature.yml` and `config.yml` is identical at the baseline and final head. `blank_issues_enabled: true` remains unchanged. Routing declarations and the other community files remain unchanged. **Static results and limits** | Check | Before | Exact final head | | --- | --- | --- | | `yamllint --strict` on the three owned forms | Exit `1`: 16 line-length errors and 3 document-start warnings | Exit `1`: 6 unchanged comment-URL line-length errors and 3 unchanged document-start warnings | | One-time parsed/diff interface inspection | Baseline Git content is the comparison source | Exit `0`: only the ten allowed prose values differ; all preserved interfaces and exact examples match | | `git diff --check` across the full base-to-head diff | Clean baseline | Exit `0`; clean worktree | The final diagnostics are identical in each file: line `1:81`, 139 characters against limit 80; line `6:81`, 142 characters against limit 80; and the missing document-start warning at `2:1`. These fixed comment URLs and document starts are outside this prose Task. The ten prose line-length errors no longer occur. No diagnostic is hidden, no lint rule is weakened, and no unrelated line is changed. The [baseline audit](#91 (comment)) records every original diagnostic location and length. These are static maintenance checks, not functional or live GitHub form validation. No live rendering, submission, label application, or routing test is executed. No test issue is submitted, and no simulated GitHub runtime or retained assertion suite is introduced. **Sources and standards review** All six required MSX pages are available and were read at `MSXOrg/docs@1b0d4893c8fefabe604d04393068a8ff6f848082`: Documentation Model, Natural Language, Writing Guide, Markdown, Documentation, and Spec-Driven Development Templates. The forms keep their native artifact format; this Task introduces no capability specification or design document. Repository README, AGENTS, contribution guidance, and the applicable YAML, PR-format, contribution, and commit standards were read. The official STE explanation, FAQ, and Issue 9 DOI record are available. The local Issue 9 PDF MD5 is `9c720341c350ed77943b2c73d01c716f`, which matches Zenodo. The review consulted the local rules and dictionary for active voice, short imperative instructions, and vocabulary choices. It preserves software terms and exact syntax. The manual and extracted text remain local. Prose inspection and lint do not certify full STE conformance. The domain references are the unchanged [GitHub issue-form syntax](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms) and [form schema](https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema), including the Markdown and textarea interfaces. | Changed surface | Standards checked | Framework docs checked | Result | | --- | --- | --- | --- | | `01-bug.yml` introduction and descriptions | Fixed MSX writing/documentation baseline; YAML | GitHub issue-form syntax and form schema | Fixed in this PR (prose); exception: #87 for unchanged YAML diagnostics | | `02-patch.yml` introduction and description | Fixed MSX writing/documentation baseline; YAML | GitHub issue-form syntax and form schema | Fixed in this PR (prose); exception: #87 for unchanged YAML diagnostics | | `99-general.yml` introduction and description | Fixed MSX writing/documentation baseline; YAML | GitHub issue-form syntax and form schema | Fixed in this PR (prose); exception: #87 for unchanged YAML diagnostics | **Task plan and review** - [x] Read the owned forms and required sources; record baseline prose, source identity, static diagnostics, and interface expectations before editing. - [x] Commit and push bug prose, then open the focused draft before patch/general work. - [x] Commit and push patch/general prose as a separate small change. - [x] Inspect the full exact-head diff and parsed/static structure; run existing YAML and whitespace checks; preserve interfaces and command examples. - [x] Complete the writing/format review and record source-bound acceptance evidence in the Task audit trail and this PR. The explicitly requested [exact-head review](#92 (review)) approved `a6c020d4e2227397e4766f3f6daefb8d360116a6` at `2026-11-04T12:24:49Z`, with no active review issues and zero inline comments. The scoped issue-convergence search inspected open `PSModule/.github` issues with `ISSUE_TEMPLATE` in their title/body. Besides this Task, it returned #87, #88, and #90. Their YAML-tooling, feature-form, and repository-entry-point outcomes are not delivered by this diff. No additional issue converges; #91 is the only closing delivery leaf. The separate YAML validation work is not a prerequisite and is not revived. The source tree has no authored publishing workflow for this route, and this Task changes no versioned artifact or integration template. No release-decision block or release label applies. There is no delivery blocker within this prose scope. The known strict YAML diagnostics remain explicit out-of-scope limitations. **Original delivery checkpoint (2026-11-04).** The PR was drafted, and Agent merge was disabled. The user's later explicit instruction to mark the PR ready and enable Agent merge superseded draft-only retention. **Current lifecycle (2026-11-11).** The PR is **open, non-draft, and unmerged** at `a6c020d4e2227397e4766f3f6daefb8d360116a6`. GitHub auto-merge is `null`. Agent merge is enabled only for review feedback, CI failures, and merge conflicts: `address_reviews=true`, `fix_ci=true`, `resolve_conflicts=true`, and `merge_pr=false`. The user's live direction is: "Continue with reviewing the remaining changes and merge them as they are ready. Involve me only when there is a decision to be made on the content of the PR." The root coordinator has granted bounded operational acceptance of this unchanged exact head with all stated validation limits preserved. Process holds the exclusive global merge slot. This record-only correction does not perform a merge or change `merge_pr`. The [fresh validation audit](#91 (comment)) and [supplemental shipped-default audit](#91 (comment)) record the current evidence. The pinned shipped YAML default reports normal exit `0` with nine warnings and strict exit `2`. The installed built-in default remains distinct: strict exit `1`, with six errors and three warnings. The current hosted set has zero check runs and zero status contexts; combined status is `pending` over an empty list. This does not replace historical review-check receipts, establish green hosted CI, or claim a change to organization policy. No source, Task body, settings, labels, PR lifecycle state, or Agent merge controls change in this body-only correction. </details> <details> <summary>Related references</summary> - Resolves #91 - References #89 for the unchanged feature form. - References #87 for separate, unimplemented YAML validation work. - References [the fixed MSX writing baseline](https://github.com/MSXOrg/docs/tree/1b0d4893c8fefabe604d04393068a8ff6f848082/src/docs). - References [the official STE explanation](https://www.asd-ste100.org/about_STE.html), [FAQ](https://www.asd-ste100.org/STE_faq.html), and [Issue 9](https://doi.org/10.5281/zenodo.23666006). </details>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Feature contributors give the current situation first, then the user benefit, the requested change, and an example of the expected result. The inherited PSModule feature form uses direct instructions and present-tense maintainer responsibilities. Its identity, declared labels, single required response, and feedback routing remain unchanged. No consumer-local edit or technical plan is necessary.
Changed: Feature requests establish the current situation before the desired change
The response remains Current situation and desired change. The introduction removes the courtesy opening. The prompts give direct instructions in the same order:
Optional starters use ordinary language. Maintainers review and refine feedback, then select the issue type. The form does not require literal Gherkin syntax, architecture decisions, or a technical implementation plan. Tasks and Bugs retain their technical delivery plans.
After merge, PSModule repositories that use inherited issue templates receive the organization-owned form without local configuration or code changes. Repositories with local overrides are unchanged. The chooser metadata, title prefix,
feature/triagedeclarations,descriptionfield ID, single required textarea, field label, and blank-issue fallback remain unchanged.Technical details
Scope and source identity
Candidate:
7eedb8a44c00bfa0f38d541ea88a7d7d791eaa19onpsmodule-feature-intake. The complete PR changes only.github\ISSUE_TEMPLATE\10-feature.yml: 23 additions and 5 deletions againstf424237c98b5b020f80e8c9563dbc37256fc1ec0.The prose revision is one ordinary commit after
e7a14f7eb35eb77bff8b6ba7730c8870a660185d. It changes only the introduction, textarea description, and optional placeholder text. The form's Git blob changes from8fb4a887c15961430e78980ac695a8af83029fbcto29b9a60ed7e77745fdcf7f0e22b66026c864036a; the earlier identical-blob claim applies only to the completed test-removal correction, not this prose revision. Other campaign sessions own README/AGENTS/profile and bug/patch/general forms; this branch does not edit those paths.Prose acceptance evidence
A one-time read-only YAML comparison allowed changes only to
body[0].attributes.value,body[1].attributes.description, andbody[1].attributes.placeholder. The remaining keys and values matched the preceding source. This includes form identity, routing declarations, field ID, required flag, field label, and absence of an assigned native type. The reference URLs and untouched blank-issue configuration retain their roles. This comparison is maintenance evidence, not a retained snapshot test or a test of GitHub behavior.Fixed writing sources and limits
The campaign uses MSXOrg/docs at
1b0d4893c8fefabe604d04393068a8ff6f848082: Documentation Model, Natural Language, Writing Guide, Markdown, Documentation, and the applicable issue/Task/PR formats. All required pages were available.The official STE overview, FAQ, and Issue 9 DOI were available. The PDF was read in memory, and its MD5 matched the official record. The review consulted active-voice rule 3.6, procedural rules 5.1-5.3, and relevant dictionary entries for prompt wording, including Tell/Give and alternatives to Explain/Describe. Reference content was not republished.
This is a scoped manual prose review, not a full word-by-word STE certification. Domain terms retain their MSX meaning. A word count, static lint result, or automated approval does not prove complete STE conformance.
Static checks and testing boundary
yamllint --strict .github\ISSUE_TEMPLATE\10-feature.ymlgit --no-pager diff f424237c98b5b020f80e8c9563dbc37256fc1ec0 HEAD --checke7a14f7eb35eb77bff8b6ba7730c8870a660185dgh api repos/PSModule/.github/pulls/89/files --paginateThe 198-line Pester snapshot suite remains removed. Its historical 25 assertions did not test GitHub rendering, submission, or routing; the earlier functional-coverage claim stays withdrawn. No replacement content assertions, schema snapshots, runtime simulation, test dependency, validator, workflow, hook, or test issue is added. No live GitHub form test was executed or claimed. Static/manual inspection and review do not establish that unexecuted coverage. Pre-commit alignment remains deferred, and the separate testing-policy cleanup remains independent.
Plan, review, and lifecycle
PSModule/.github#88 records the new user-directed prose acceptance decision and the preserved testing boundary. Its earlier test-removal identity is historical evidence; current prose evidence uses the candidate above.
Original delivery checkpoint (November 4): The exact-head review approved the candidate at
2026-11-04T12:27:50Z, with zero inline comments and no active review issues. Previous-head approvals are not reused. The November 4 review and static-check receipts above remain historical evidence, not a new review or current hosted CI result.Original lifecycle-only pause: At the November 4 checkpoint, this PR stayed unmerged while the requested independent testing-cleanup proposals were created. Agent merge and automatic landing were disabled. This records the original delivery checkpoint; it is not an outstanding requirement to adopt or merge those proposals.
Current prerequisite record (November 11): The creation request is fulfilled by MSXOrg/docs#240, PSModule/Process-PSModule#551, and the source-bound no-test audits of MSXOrg/.github and PSModule/.github. No native dependency requires adoption or merge of those unrelated proposals. No content question remains. The fresh prerequisite and exact-head evidence records those source identities, native relationships, fresh existing-tool checks, and their limits.
The root has granted bounded operational acceptance of unchanged head
7eedb8a44c00bfa0f38d541ea88a7d7d791eaa19under the user's live direction to review remaining changes and merge them when ready. The root has not granted this PR the exclusive global merge slot; Process owns it. A bounded exact-head squash is permitted only after that slot is granted. No merge or automatic landing is authorized now.The current native state remains open, not draft, and unmerged, with GitHub
autoMergeRequest=null. Agent merge remains disabled; actions remainaddress_reviews=true,fix_ci=true,resolve_conflicts=true, andmerge_pr=false. Current hosted check-runs and commit statuses are empty, not green CI. No changed coverage or organization rule is claimed. The absent-CI, static/manual-only, and STE verification limits remain in force.The exact feature-form-path issue sweep found this Task, the separate writing campaign issues, and the broader YAML work. No additional issue is fully delivered by this feature-only branch; this PR has only PSModule/.github#88 as its closing delivery leaf. The Task remains open, and the PR is unmerged. Retired validator/governance work is not reinstated. Issue states/relationships, repository labels/protections, and other community files remain unchanged.
Related references
Related work